#include "stdio.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "fcntl.h"
#include "stdlib.h"
#include "string.h"

static char usrdata[] = {"usr data!"};

int main(int argc, char *argv[])
{
	int ret = 0;
	int fd = 0;
	char *filename;
	char readbuf[100], writebuf[100];
	filename = argv[1];

	if(argc != 3){
		printf("Error Usage!\r\n");
		return -1;
	}

	fd = open(filename, O_RDWR);
	if(fd < 0)
	{
		printf("Can't open file %s\r\n", filename);
	}
	if(atoi(argv[2]) == 1)  /* 从驱动文件读取数据 */
	{
		ret = read(fd, readbuf, 50);
		if(ret < 0){
			printf("read file %s failed!\r\n", filename);
		}else{
			/*  读取成功，打印出读取成功的数据 */
			printf("read data:%s\r\n",readbuf);
		}
	}

	if(atoi(argv[2]) == 2){
		/* 向设备驱动写数据 */
		memcpy(writebuf, usrdata, sizeof(usrdata));
		ret = write(fd, writebuf, 50);
		if(ret < 0){
			printf("write file %s failed!\r\n", filename);
		}
	}


	ret = close(fd);
	if(ret < 0){
		printf("Can't close file %s\r\n", filename);
		return -1;
	}


	return 0;
}



